how to become a backend engineer